/** @jsxImportSource @emotion/react */
import {render设备品种, render设备类别} from "../../common/render";
import {usePrefixDataTable} from "../../hook/usePrefixData";
import {useThreeColumnView} from "../../hook/useThreeColumnSubr";
import {CCell, Cell, Table, TableBody, TableRow, Text} from "customize-easy-ui-component";
import * as React from "react";
import {RepLink} from "../../common/base";
import {DirectLink} from "../../../routing/Link";

//不考虑唯一性校验
export const config设备 = [
  [['使用单位', '_$使用单位'],  ],
  [['使用单位地址', '_$使用单位地址'],  ],
  [['使用单位统一社会信用代码', '_$使用单位信用码'], ['使用单位安全管理人员', '安全员'],],
  [['安全员联系电话', '安全员电'],  ['邮政编码', '_$使用单位邮编'] ],
  [['制造单位', '_$制造单位'] ],
  [['改造单位','_$改造单位']],
  [['重大修理单位','_$维修单位']],
  [['设备类别', '_$设备类别',render设备类别], ['设备品种', '_$设备品种',render设备品种], ],
  [['型号规格', '_$型号'], ['设备代码', '_$设备代码'], ],
  [['产品编号', '_$出厂编号'], ['单位内编号','_$单位内部编号'],  ],
  [['投入使用日期', '_$投用日期'], ['设计使用年限','_$设计年限', '年'], ],
  [['制造日期', '_$制造日期'], [' ', {r:' '}] ],
  [['使用地点', '_$设备使用地点'] ],
  //性能参数;  #【代码耦合点】 拆分位置
    //台账现有的 “下降深度(臂架):”
  [['跨度','_$跨度','m'], ['生产率','_$生产率','t/h']],
  [['额定起重量','_$额定起重量','t'], ['工作级别','_$工作级别'], ],
  [['起升高度','_$提升高度','m'], ['起升速度','_$起升速','m/min'], ],
  [['起重机械运行速度','_$大车速度','m/min'],['小车运行速度','_$小车速度','m/min']],
  [['其他主要参数',{n:'其他参数',t:'m'}], ],
];

/**还是拆解开掉： 避免参数传递麻烦。
 * @param fixed :针对设备概况的主要部分 调整表格跨度。
 * @param ispan :性能参数 有几行的；
 * */
export const 报告设备详情上= ( {orc, rep, config,spIdx,fixed=["6.1%","8%","40%","8.1%","8%","%"],ispan=4,
                                 xnFixed=["4.8%","18.1%","30%","9%","12.2%","10%","%"], gybz }
                                   : { orc: any,rep:any, config:any[],spIdx:number,fixed?:string[],ispan?:number,xnFixed?:string[],gybz?:boolean}
) => {
  const memoTxt=gybz? orc?.概备注 : orc?.大备注;
  //拆分成2个编辑器的
  const config设备上=config.slice(0, spIdx);
  const config设备下=config.slice(spIdx);
  const renderUpper=usePrefixDataTable({config: config设备上, orc, rep, slash:true});
  const [firstPart,_s]=useThreeColumnView({orc, config:config设备下,slash:true,
    embedCol: [ <CCell rowSpan={ispan}>性能参数</CCell> ]});
  return <React.Fragment>
    <Table id={'Survey'} fixed={fixed}  css={ {borderCollapse: 'collapse' } }  tight  miniw={800}>
      <TableBody>
        <RepLink rep={rep} tag={'Survey'}>
          {renderUpper}
        </RepLink>
      </TableBody>
    </Table>
    <Table fixed={xnFixed}  css={ {borderCollapse: 'collapse' } }  tight  miniw={800}>
      <TableBody>
        <RepLink rep={rep} tag={'Survey'}>
          {firstPart}
        </RepLink>
        <TableRow>
          <CCell colSpan={1}>检验依据</CCell>
          <CCell colSpan={6}>《起重机械安全技术规程》（TSG 51-2023）</CCell>
        </TableRow>
        <DirectLink href={`/report/${rep?.modeltype}/ver/${rep?.modelversion}/${rep?.id}/Conclusion#Conclusion`}>
          <TableRow>
            <CCell>检验结论</CCell><CCell colSpan={6}><Text variant="h1" css={{fontSize:'2.2rem',letterSpacing: '1rem'}}>{orc?.检验结论}</Text></CCell>
          </TableRow>
        </DirectLink>
        <RepLink rep={rep} tag={gybz? 'Survey' : 'Witness'}>
          <TableRow>
            <CCell>备注</CCell>
            <Cell split={true} colSpan={6}><div css={{minHeight: '1rem', whiteSpace: 'pre-wrap'}}>
              {memoTxt ?? '／'}
            </div></Cell>
          </TableRow>
        </RepLink>
      </TableBody>
    </Table>
  </React.Fragment>;
};
